I Rebuilt My Blog for the Fifth Time
Every rewrite taught me something different. This one taught me to stop rewriting.
Welcome
Thoughts on engineering, design systems, developer experience, and the craft of building software that lasts.
Every rewrite taught me something different. This one taught me to stop rewriting.
Before you reach for a managed database cluster, consider the file that's been quietly running the world since 2000.
The explanation I wish someone had given me ten years ago: closures are just functions with a backpack.
You need about six properties to build almost every layout on the web. Here they are.
Debugging is a learnable skill with an actual method — not a personality trait some engineers are born with.
Small tools and side quests. Everything is open source.
A design-token compiler — one JSON source of truth out to CSS variables, Tailwind themes, and Figma.
A type-specimen playground. Paste any Google Font pair and see it set as a real article, not a pangram.
The 90-line static site generator this blog runs on. Markdown in, HTML out, nothing else.
A flip clock for your terminal. Pomodoro mode, world clocks, and exactly zero configuration files.
Visualize and print custom mechanical keyboard layouts. Made for my split ergo board, works with any QMK config.
Turns a folder of film scans into a quiet little gallery site — captions from EXIF, grain intact.
One email when something new goes up. Usually once or twice a month, written like a note to a friend.
No spam, unsubscribe anytime.